﻿using System;
using System.ComponentModel;
using System.Linq;
using System.Windows.Forms;
using eRechnung_3_0.Properties;
using ebDoc = eRechnung_3_0.Globals;


namespace eRechnung_3_0
{
    public partial class FrmHandyEinstellungen : Form
    {
        private const string MailBodyDefault = @"Sehr geehrte(r) Kunde, 

beigefügt erhalten Sie die Rechnung Nr. [RECHNUNGSNR] vom [RECHNUNGSDATUM] mit dem Ersuchen um termingerechte Erledigung.

Mit freundlichen Grüßen

[RECHNUNGSSTELLER]
Kontakt: [KONTAKT]
Telefon: [TELEFON]
E-Mail: [EMAIL]";
        private const string BetreffDefault = @"Rechnung Nr. [RECHNUNGSNR] vom [RECHNUNGSDATUM] ";

        public FrmHandyEinstellungen()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string[] vorwahl = {"Bitte wählen Sie ..",
                                "+43664",
                                "+43676",
                                "+43699",
                                "+43660",
                                "+43650",
                                "+43680",
                                "+43681",
                                "+43688",
                                "+32",
                                "+30694"
                               };

            cBxVorwahl.Items.Clear();
            cBxVorwahl.Items.AddRange(vorwahl);
            tbxHandyNr.Text = Settings.Default.setHandyNr;
            if ((Settings.Default.setVorwahl == "")||(vorwahl.Contains(Settings.Default.setVorwahl)!=true))
            {
                // cBxVorwahl.SelectedItem = vorwahl[0];
                cBxVorwahl.SelectedIndex = 0;
            }
            else 
            {
                cBxVorwahl.SelectedItem = Settings.Default.setVorwahl;
            }

            tbxBetreff.Text = Settings.Default.setBetreff;
            if (tbxBetreff.Text=="")
            {
                tbxBetreff.Text = BetreffDefault;
            }
            rTbxMailBody.Text = Settings.Default.setMailText;
            if (rTbxMailBody.Text=="")
            {
                rTbxMailBody.Text = MailBodyDefault;
            }

            tbxEtreseorMail.Text = Settings.Default.setEtresorMail;
            cbxSendEtresor.Checked = Settings.Default.setSendEtresor;
            cbxSaveLocal.Checked = Settings.Default.setSaveLocal;
            tbxLocalFile.Text = Settings.Default.setLocalPathSigned;            
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void BtnSpeichern_Click(object sender, EventArgs e)
        {
            if (cBxVorwahl.SelectedIndex==0)
            {
                MessageBox.Show("Vorwahl des Mobilfunkanbieters nicht gewählt.");
                return;
            }
            if (cBxVorwahl.SelectedIndex < 1)
            {
                MessageBox.Show("Vorwahl nicht gewählt.");
                return;
            }
                
            if (tbxHandyNr.Text=="")
            {
                MessageBox.Show("Handy Nr. nicht angegeben.");
                return;
            }
            if (tbxBetreff.Text=="")
            {
                MessageBox.Show("Betreff für E-Mail Versand nicht angegeben");
                return;
            }
            if (gBxEtresor.Visible==false)
            {
// Wenn e-tresor nicht sichtbar, dann wird auch nicht dorthin verschickt.
                cbxSendEtresor.Checked = false;
            }
            if ((cbxSendEtresor.Checked==true)&&(tbxEtreseorMail.Text==""))
            {
                MessageBox.Show("e-tresor Postfach nicht angegeben.");
                return;
            }
            if ((cbxSaveLocal.Checked==true)&&(tbxLocalFile.Text==""))
            {
                MessageBox.Show("Verzeichnis für lokales Speichern nicht angegeben.");
                return;
            }

            string selVorwahl = cBxVorwahl.SelectedItem.ToString();
            Settings.Default.setVorwahl = selVorwahl;
            Settings.Default.setHandyNr = tbxHandyNr.Text;
            Settings.Default.setBetreff = tbxBetreff.Text;
            Settings.Default.setMailText = rTbxMailBody.Text;
#if !NO_ETRESOR
            Settings.Default.setSendEtresor = cbxSendEtresor.Checked;
#endif
#if NO_ETRESOR
            Settings.Default.setSendEtresor = false;
#endif
            Settings.Default.setEtresorMail = tbxEtreseorMail.Text;
            Settings.Default.setLocalPathSigned = tbxLocalFile.Text;
            Settings.Default.setSaveLocal = cbxSaveLocal.Checked;
            ebDoc.Ribbons.ebI_Ribbon.btnSignAndMail.Enabled = true;     // enable sign & Mail
            Settings.Default.Save();
            Close();
        }

        private void btnGetFolder_Click(object sender, EventArgs e)
        {
            fBDInvFolder.SelectedPath = tbxLocalFile.Text;
           DialogResult rc= fBDInvFolder.ShowDialog();
           if (rc!=DialogResult.OK)
           {
               return;
           }
           tbxLocalFile.Text = fBDInvFolder.SelectedPath;
           return;
        }

        private void btnResetBetreff_Click(object sender, EventArgs e)
        {
            tbxBetreff.Text = BetreffDefault;
        }

        private void btnLoadDefaultText_Click(object sender, EventArgs e)
        {
            rTbxMailBody.Text = MailBodyDefault;
        }

        private void tbxEtreseorMail_Validating(object sender, CancelEventArgs e)
        {
            if (cbxSendEtresor.Checked == true)
            {
                string email = tbxEtreseorMail.Text + "@e-tresor.at";
                if (ebDoc.ThisDocument.TestEmailRegex(email) != true)
                {
                    MessageBox.Show("e-tresor: Ungültige E-Mail Adresse");
                    e.Cancel = true;
                    return;
                }
            }
            e.Cancel = false;
            return;
        }


 
    }
}
